ATM adaptation layer type 2 (AAL2) has been specified for the transmission of time-sensitive or delay-sensitive data through ATM networks (see for example ITU-T Recommendation I.363.2 which is hereby incorporated by reference; ITU-T is the Telecommunication Standardization Sector of the International Telecommunication Union). Examples of such data include, but are not limited to, voice data, video streams, and audio streams. Real-time voice data transmissions, as used for example in telephone conversations, are particularly delay-sensitive.
AAL2 also enables short length packets to be packed into one or more ATM cells, which are themselves of fixed length as known to those skilled in the art. AAL2 enables data from more than one user to be multiplexed into one protocol data unit (PDU), which in turn is contained in the payload portion of the ATM cell.
In the AAL2 model for ATM cells, the AAL2 layer sits over the ATM layer, and contains two sub layers, the Common Part Sublayer (CPS) and the Service Specific Convergence Sublayer (SSCS). The CPS sub layer provides information for identifying the users (data owners) and the data that each user owns. The SSCS sublayer connects the CPS sublayer to higher layer applications of the users.
The lowest layer is the ATM-cell itself, which is the unit of transmission. Each cell contains a header and the ATM-PDU (payload). The ATM-PDU portion in turn contains both the CPS-PDU (payload) and the start field, which is similar to a header. The CPS-PDU in turn contains one or more CPS packets, CPS-PP, and one or more CPS packet headers, CPS-PH. Each CPS packet may have a plurality of octets. Therefore, since each CPS packet may belong to a different user, each CPS-PDU may contain data from one or more users. The next sublayer is the SSCS, which features the SSCS-PDU (payload), and a header and trailer portion.
Voice data is particularly time sensitive. Therefore, data streams need to be multiplexed according to an assigned Quality of Service (QOS), in order to avoid excessive delays in the transmission of voice packets (or other units of voice data). According to the AAL2 standard, the QOS defines the maximum permissible delay, before the packet of voice data is sent.
The delay is timed according to the Timer_CU, which determines the maximum delay before a particular CPS-packet (which has at least one octet packed inside) is scheduled for transmission in a cell. Any cell that is not completely full in the payload portion, at the time that the packet is to be sent, has additional padding packed in order for the cells to maintain their fixed size. Therefore, the value for the Timer_CU needs to be set such that short latency is maintained, particularly for voice sensitive applications, while also maintaining high efficiency. If the value is too low, more partially full cells are likely to be sent, and efficiency suffers. On the other hand, if the value were too high, the quality of voice transmission would tend to degrade as the period of delay between transmission of packets increases.
Two methods for obtaining the desired value for the Timer_CU may be either to define this value according to the most time-sensitive application in the AAL2 virtual connection, or according to a compromise between conflicting demands of the various applications supported by the connection. The first method would cause all CPS packets associated with a particular AAL2 virtual connection or channel to be treated as the most sensitive application, even if the CPS packets in a particular CPS-PDU are data packets, which have low or no sensitivity to delays in transmission. Furthermore, if the value for the Timer_CU is less than the typical time required to deliver and pack a packet, each cell is more likely to contain only one CPS packet, with the rest of the space being filled with padding, assuming that the ATM layer rate is equal to or faster than the Timer_CU rate. Thus, the first method causes efficiency of bandwidth use to decrease, while increasing the overall amount of bandwidth required to transmit a given amount of data.
The second method provides more efficient use of bandwidth, since the timer value is now set to a compromise value for the delay for all packets in a given connection. However, typical data packets may still be transmitted less efficiently, since the transmission delay which can be tolerated by such packets is higher than average, while voice (and other time sensitive data) packets may be transmitted with unacceptably high latency.
Unfortunately, only these two extremes are possible in terms of a solution to the timing problem, since the Timer_CU is configured with a single value for all CIDs (channel identifier) for each AAL2 virtual connection or channel. Therefore, even if that connection or channel is used to transmit mixed types of data, the timer is set as though the data is of a homogeneous type.